Bulkhead

class Bulkhead

JS/TS-friendly facade over com.sorinirmies.arrow.resiliencekit.Bulkhead.

import { Bulkhead } from "arrow-resilience-kit";

const bh = await Bulkhead.create({ maxConcurrentCalls: 10, maxWaitingCalls: 20 });
const result = await bh.execute(() => dbPool.query());

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard

Number of calls currently holding a permit.

Link copied to clipboard
fun <T> execute(block: () -> Promise<T>): Promise<T>

Executes block, waiting for a permit. Rejects if the bulkhead is full (or times out waiting).

Link copied to clipboard
fun <T> executeOrFallback(fallback: () -> Promise<T>, block: () -> Promise<T>): Promise<T>

Executes block, falling back to fallback if the bulkhead is full.

Link copied to clipboard

Resets all statistics counters.

Link copied to clipboard

Current statistics snapshot.

Link copied to clipboard
fun <T> tryExecute(block: () -> Promise<T>): Promise<T?>

Executes block only if a permit is immediately available, resolving null otherwise.